树莓派 单片机 Arduino的区别是什么?

您所在的位置:网站首页 arduino 怎么念 树莓派 单片机 Arduino的区别是什么?

树莓派 单片机 Arduino的区别是什么?

2023-11-28 11:35| 来源: 网络整理| 查看: 265

如果你学Arduino,本质上就是在学单片机。

Arduino可以理解为是一种通用的单片机开发手段。最大的特点是可以跨单片机型号,也就是单片机版的跨平台开发。

在Arduino出现以前,传统的单片机学习路线一般是从51开始入门,入门后再转学STM32。但51和STM32的代码并不通用,所以进阶难度大,学习成本比较高。

而Arduino的路线一般是从Arduino UNO或Arduino Nano开始入门,入门后再转ESP32。由于代码通用,可以无缝转换到ESP32,所以进阶曲线平缓,学习成本也较低。

前者更偏向传统电子电路开发,后者更偏向物联网。但本质上,两种路线所学的大部分知识是高度重叠,可相互替代的。

树莓派其实是一种SOC,或者也可以理解为,它就是个基于ARM的小型PC。如果只是正常使用,基本学不到什么有用的知识,因为买到手的时候,它已经是个成品了。

嵌入式系统开发,不是学习使用操作系统,而是学习移植、裁剪、集成、DIY操作系统。以及编写各种设备驱动。

比如,你要基于Linux开发汽车中控屏,总不能让车主一手开车,一手接个键盘敲命令行吧?

既然树莓派就是个SOC,为啥不能像别的SOC一样,用于嵌入式操作系统开发呢?

因为树莓派只能安装官方提供的镜像,用户无法移植操作系统。

为什么无法移植?

因为树莓派firmware是闭源的。下一话题。

入门路线建议。。。

第一步,你可以先学Arduino,先学会GPIO和PWM原理。然后学I2C和SPI基础通信协议,最后学习使用中断和定时器。如果学习能力比较强,也可以把这些直接合并到第二步一起学,直接从ESP32开始入门。代码都一样,只是ESP32内容更多。

注意:Arduino支持140多种单片机型号,囊括了市面上几乎所有主流单片机,并非只能选ESP32作为进阶。但从功能性、性价比、成熟度、易用性综合考虑,乐鑫ESP32系列是其中的最优选项。Arduino也可以开发STM32,需要安装Arduino Sam Boards插件,型号不全,也不如ESP32完美,不太建议。

第二步,把主控芯片换成ESP32,开发环境继续使用Arduino即可。学习MQTT等物联网相关知识,学习如何点亮和驱动触摸屏,如何用LVGL库制作UI,简单学习一下PCB设计,初学不要深入,能连接触摸屏,支撑后续学习即可,推荐使用立创EDA。

第三步,学习FreeRTOS(一种结构最简单的微型操作系统,ESP32原生内置该系统,无需安装)。搞明白操作系统到底发挥了什么作用,学习操作系统基础知识。

FreeRTOS是最简易的微型操作系统,根据功能裁剪不同,只有4-9KB。但麻雀虽小,五脏俱全。内存管理、进程管理、信号量、优先级控制、消息队列、任务通知等操作系统特征一样不少。而且还能通过生态进行功能扩展。比如可以搭配LVGL扩展出GUI图形界面,通过FS库扩展出文件系统等。当然最大的优点,还是简单易学,门槛低。

还有第二条推荐路线,就是华为的LiteOS。也就是单片机版的鸿蒙。别听网上一群外行不懂瞎黑,鸿蒙这玩意其实牛逼的不行。LiteOS自带图形驱动,直接就能驱动屏幕,直接调API就能实现MQTT通信。而且顺着这条线,还能一路进阶到手机、PC、智能大屏、汽车座舱等各种设备的系统开发。但上手门槛自然也比FreeRTOS高出一个量级,适合有一定操作系统移植经验的开发人员。初学者大概率是学不会,量力而行吧。学不会也不用强求,可以等进行到第五步之后再学,那时就能学会了。而且在单片机阶段嘛,只会FreeRTOS其实也够用了。

第四步,把MQTT、LVGL、FreeRTOS三者结合起来,写一个带触摸UI界面,带内存管理、进程管理、消息队列的MQTT物联网工程。按我个人的标准,能写出这个,就算跨过初级阶段了。

第五步,尝试把FreeRTOS和LVGL移植到各种型号的芯片上。积累操作系统和图形库的移植、裁剪相关经验。

第六步,相对深入的学习PCB设计,尝试基于ESP32自己设计一款简单的SOC。也就是自己画一个屌丝低配乞丐版树莓派,在嘉立创打个板子,试着在上面把FreeRTOS和LVGL运行起来。学到这个阶段,一般的小型电子产品就都能做了。可以抽时间学学建模,再买个3D打印机来制作外壳,做点小产品挂淘宝回收一些学费。

至此,单片机部分学习基本结束,之后通常会分为软件、硬件两条路线分支。

软件路线,学习大型操作系统的移植及驱动开发。操作系统可以依据自身行业选择,比如汽车行业的QNX、机械行业的vxworks等。如果没有特定的行业指向,一般就是就是从Linux开始。如果是Linux路线的话,芯片选择建议I.MX6ULL。

我接触过的搞Linux嵌入式的同事,以及我自己,都是搞I.MX系列。最近三五年,没见过有人用别的,部门采购也没买过其他系列。而在I.MX系列中最低端、最便宜、最常见、网上资料最多的型号,就是6ULL。

硬件路线,近几年的主流是从FPGA开始,进阶ZYNQ,我没学过,不懂,嗯。。。就是这样。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3